package org.theqcp.wow.model.player.classes.shaman;

import org.theqcp.wow.model.mechanics.ClassType;
import org.theqcp.wow.model.player.Talent;
import org.theqcp.wow.model.player.TalentFactory;
import org.theqcp.wow.model.player.classes.shaman.talents.AncestralKnowledge;
import org.theqcp.wow.model.player.classes.shaman.talents.MentalDexterity;
import org.theqcp.wow.model.player.classes.shaman.talents.MentalQuickness;
import org.theqcp.wow.model.player.classes.shaman.talents.ThunderingStrikes;
import org.theqcp.wow.model.player.classes.shaman.talents.WeaponMastery;

public class ShamanTalentFactory extends TalentFactory{

	@Override
	public Talent createTalent(String talentName, int level, ClassType classType) {

		//talent
		Talent t = null; 
		
		//format talent name
		String tname = talentName.toLowerCase().replace(" ", "").replace("_", "").replace(",","").replace("'","");
		
		if("ancestralknowledge".equals(tname)) {
			t = new AncestralKnowledge(level);
		}else if("mentaldexterity".equals(tname)) {
			t = new MentalDexterity(level);
		}else if("mentalquickness".equals(tname)) {
			t = new MentalQuickness(level);
		}else if("thunderingstrikes".equals(tname)) {
			t = new ThunderingStrikes(level);
		}else if("weaponmastery".equals(tname)) {
			t = new WeaponMastery(level);
		} else {
			//use this to create a generic/empty talent that has no
			//mechanics but that basically just stores the level
			//and the name of the talent
			t = super.createTalent(talentName, level, classType);
		}
		
		return t;
	}

	
	
}
